
# 面向对象-变量
"""
# 变量 ： 包括类变量 ， 实例变量 ，局部变量

# 1. 类变量
说明 ：它是定义在类中，方法外的变量就是类变量
定义 ： 变量名 = 值
调用 ：
    对象名.变量名
    类名.变量名
作用范围 ：整个类
使用场景 ： 定义此类的公共数据


2. 实例变量
说明 ： 专门给对象使用的变量 ，是在方法内
定义 ： self.变量名 = 值
调用 ： self.变量名
作用范围 ： 针对当前对象

3. 局部变量
说明 ： 给方法或者方法内代码块定义的变量  ， 定义在方法内。
定义 ： 变量名 = 值
使用 ： 变量名
作用范围 ： 此方法内或者此语句块内
"""

class Bugs():

    # 定义类变量
    project = 'tpshop'


    # 创建一个初始化方法
    def __init__(self):
        print("================")
        # 实例变量
        self.version = 1.0

    # 定义功能
    def create_bug(self):
        # 在此方法找调用查询方法 ： self.方法
        result = self.search_bug('xxx')
        self.version = 2.0
        print(self.version)


    def update_bug(self):
        print("version:",self.version)

    def delete_bug(self):
        pass

    def search_bug(self, title):
        print("self:", self)
        # 局部变量
        db_bugs = [
            {'bug_id': 1, 'bug_title': '学生列表页使用学生名称进行搜索 结果不正确', 'bug_project': 'tpshop', 'version': 1.0},
            {'bug_id': 2, 'bug_title': '和方法开始减肥盛世嫡妃', 'bug_project': 'tpshop', 'version': 1.0},
            {'bug_id': 3, 'bug_title': '导出的数据中字段(执勤单位)数据显示错误', 'bug_project': 'wx', 'version': 1.0},
            {'bug_id': 4, 'bug_title': '学生列表sdfsdfsdfsdfsdf', 'bug_project': 'wx', 'version': 1.0},
            {'bug_id': 5, 'bug_title': '学员列表页按照学生名称进行搜索 结果不正确', 'bug_project': 'tpshop', 'version': 1.0}
        ]
        lst = []        # 局部变量
        for bug in db_bugs:
            bug_title = bug.get('bug_title')        # 局部变量
            if title in bug_title:
                lst.append(bug)
        return lst



bug = Bugs()
# 通过对象调用类变量
print(bug.project)

# 通过类名进行调用
print(Bugs.project)

# 调用创建bug
print(bug.create_bug())
print(bug.update_bug())

bug1 = Bugs()
# print(bug1.create_bug())
print(bug1.update_bug())